测试的test case分为两种:
# 代码自动完成的测试
# 需要人来一个一个进行的测试
== 代码自动测试 ==
每一个代码自动完成的测试都需要具备以下几点：
# 这个测试的目的是什么以及针对哪个部分功能的测试
# 测试的输入是什么
# 这个测试的期望结果是什么
所以使用的template如下：
<pre>
Ref ID: Optional
purpose:
input:
expect:
</pre>
===例子===
创建用户名和密码的测试。规定如下：
* 用户名必须是由数字和英文字母组成。 属于FR-Server-039 
* 密码必须完全是数字，且不得少于5位。
测试例子

<pre>
Ref ID: FR-Server-039 
purpose: 测试用户名全部是数字
input: 用户名是： 12222，其他输入全部正常可通过（可不写）
expect: 创建成功
</pre>
<pre>
Ref ID: FR-Server-039 
purpose: 测试用户名全部是字母
input: 用户名: sssss, 其他输入全部正常可通过（可不写）
expect: 创建成功
</pre>
<pre>
Ref ID: FR-Server-039 
purpose: 测试用户名是数字和字母混合
input: 用户名: s32df, 其他输入全部正常可通过（可不写）
expect: 创建成功
</pre>
<pre>
purpose: 测试密码不是数字
input: 密码: dd22222, 其他输入全部正常可通过（可不写）
expect: 创建失败
</pre>
'''注意：'''这里没有列举全部的测试，只是给出一些例子。

== 人的手动测试 ==
我们先创建手动测试的用例，然后在进行手动测试并记录下来结果。
=== 测试用例的template===
* ID: 来鉴别这个test case的
*: 名字的命名根据: TC-[module的名字]-[test case的编号]。比如说： log系统的第三个测试就是 TC-LOG-0003
*:* 编号需要是4位的,不到的前置0.比如： 0012
* Description: 介绍这个测试的主要目的,为了测试什么
* Type: 类型.目前我们
*# Functional (F)：测试软件功能的
*# Non-Functional (NF):测试软件非功能需求的
* Reference ID: 对应的Functional requirement ID或者Non-Functional requirement ID.如果没有，可以为空，因为我们的requirement不是complete的。
* Module: 对应的功能模块
* Author: 创建的人名字
* Version: 版本. 起始是1
* Created Date: 创建日期. format: yyyy/mm/dd
* Pre-conditions: 前置条件
* Required Data: 测试需要的一些数据。可以是一些数据文件。可以upload或者指定路径
* Run instructions: 具体的一步一步的测试过程。
* Post-condtions: 测试完成之后需要做一些什么
* Expectation:期望的结果
* Remark: 备注信息
* Change History: 修改的历史记录
{| class="wikitable" style="text-align: left;"
|-
| '''ID:''' || TC-LOG-0001
| '''Module:''' || Log
| '''Type:''' || F
| '''Version:''' || 1
|-
| '''Reference ID:''' || FR-Server-107 
| '''Author:''' ||  xijing
| '''Created Date:''' || colspan="3" | 2012/06/18
|-
| '''Description:''' || colspan="7" | 描述细节，主要的目的是什么

|-
| '''Pre-conditions:''' || colspan="7" | 这里写入前置田间
|-
| '''Required Data:''' || colspan="7" | 这里写入相关需要的输入数据，也可以upload file然后贴近一个link
|-
| '''Run-Instructions:''' 
| colspan="7" | 这里写入需要的一步一步运行步骤。比如说：
# 启动主程序
# 输入用户名和密码
# 点击登录
|-
| '''Post-conditions:''' || colspan="7" | 后置的一些条件
|-
| '''Expectations:''' || colspan="7" | 登录失败
|-
| '''Remark:''' || colspan="7" | 无
|-
| '''Change History:''' || colspan="7" | 无
|}

=== 测试结果记录 ===
* ID: 测试用例的ID,比如说TC-LOG-0003。
* Result: 实际得到的结果
* Date: 测试的日期。 yyyy/mm/dd
* Fail/Pass: 是Fail了还是Pass了。
{| class="wikitable"
|-
! ID !! Date !! Result !! Fail/Pass
|-
| TC-LOG-0001 || 2012/06/18 || 测试的结果，也可以upload一个file,贴入 || Pass
|-
| ... || ... || ... || ...
|}
===例子===
创建用户名和密码的测试。规定如下：
* 系统module属于用户管理
* 用户名必须是由数字和英文字母组成。
* 密码必须完全是数字，且不得少于5位。 
'''创建测试例子步骤如下：'''
# 创建相应的module test case link
# 在module test case link下面，加入你的测试用例
## 用测试用例的ID先写一个小标题，以后用于直接reference这个用例。
## 复制template，然后填入内容。
所以我们会生成下面的一个例子。为了保证他的独立性，我们使用Example- prefix.<br />
[[Example-TC-USER-MANAGEMENT]] <br />
'''测试结果的步骤如下：'''
# 对于每一个测试，先填入测试的ID
# 做相应的测试，然后填入相应的result.
[[Example-TC-USER-MANAGEMENT-RESULT]]